package main

import "fmt"

// 组成每个字符串的元素叫做“字符”，可以通过遍历或者单个获取字符串元素获得字符。 字符用单引号（’）包裹起来
var ap = '中'
var bp = 'x'

/*Go 语言的字符有以下两种：
uint8类型，或者叫 byte 型，代表一个ASCII码字符。
int32类型，或者叫 rune类型，代表一个 UTF-8字符。
当需要处理中文、日文或者其他复合字符时，则需要用到rune类型。
*/

func traversalString() {
	//(1)遍历字符串
	s := "hello沙河"
	for _, r := range s { //rune
		fmt.Printf("%v(%c) ", r, r)
	}
	fmt.Println()

	//(2)修改字符串
	s1 := "big"
	// 强制类型转换
	byteS1 := []byte(s1)
	byteS1[0] = 'p'
	fmt.Println(string(byteS1))

	s2 := "白萝卜"
	runeS2 := []rune(s2)
	runeS2[0] = '红'
	fmt.Println(string(runeS2))
}

func main() {
	traversalString()
}
